1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.google.common.base;
18
19 import com.google.caliper.Benchmark;
20 import com.google.caliper.Param;
21
22
23
24
25
26
27 public class ToStringHelperBenchmark {
28
29 @Param({"0", "2", "5", "10"}) int dataSize;
30 private static final String NAME = "abcdefgh";
31 private static final String NAME3 = Strings.repeat(NAME, 3);
32
33 private static void addEntries(Objects.ToStringHelper helper) {
34 helper
35 .add(NAME, 10)
36 .addValue(10L)
37 .add(NAME, 3.14f)
38 .addValue(3.14d)
39 .add(NAME3, false)
40 .add(NAME3, NAME3)
41 .add(NAME3, 'x');
42 }
43
44 @Benchmark int toString(int reps) {
45 int dummy = 0;
46 for (int i = 0; i < reps; i++) {
47 Objects.ToStringHelper helper = Objects.toStringHelper("klass").omitNullValues();
48 for (int j = 0; j < dataSize; ++j) {
49 addEntries(helper);
50 }
51 dummy ^= helper
52 .toString().hashCode();
53 }
54 return dummy;
55 }
56 }